#coding=utf-8
#
# 1.写一个函数计算1 + 3 + 5 +…+97 + 99的结果
#       再写一个装饰器函数, 对其装饰, 在运算之前, 新建一个文件
#       然后结算结果, 最后把计算的结果写入到文件里


#
<<<<<<< HEAD
def create(func):
    def write_file():
        a=open("装饰器学习文件.txt","w",encoding="UTF-8")#新建一个文件
        num=func()#计算结果
        a.write(str(num))
        a.close()
        # return num# 这个return 要与不要有啥区别
        # print("44444444")
    return write_file
@create
def jisuan():#计算函数
    result=0
    for i in range(2,100,2):
        result += i
    return result
jisuan()
# 2.
# 写一个函数计算传入进来参数的平方, 并将结果.写一个带参数的装饰器,
# 将装饰器参数传入到被包装的函数, 计算并输入结果
# def s1(x):
#     def s2(func):
#         def s3(y):
#             print("begin")
#             a1=func(x)
#             return a1
#         return s3
#     return s2
# @s1(33)
# def jisuan(a):
#     return a**2
# # jisuan(44)
# print(jisuan(44))
=======
# def create(func):
#     def write_file():
#         a=open("装饰器学习文件.txt","w",encoding="UTF-8")#新建一个文件
#         num=func()#计算结果
#         a.write(str(num))
#         return num# 这个return 要与不要有啥区别
#         # print("44444444")
#     return write_file
# @create
# def jisuan():#计算函数
#     result=0
#     for i in range(2,100,2):
#         result += i
#     return result
# print(jisuan())

# 2.
# 写一个函数计算传入进来参数的平方, 并将结果.写一个带参数的装饰器,
# 将装饰器参数传入到被包装的函数, 计算并输入结果
def s1(x):
    def s2(func):
        def s3(y):
            print("begin")
            a1=func(x)
            return a1
        return s3
    return s2
@s1(33)
def jisuan(a):
    return a**2
# jisuan(44)
print(jisuan(44))
>>>>>>> fd1ff9e169cc8e5d39916aa11ed5787432b09b02

